Conventional software defined networks typically transport instructions on how to forward traffic via a control channel, for example between software defined network switches and a software defined controller. The control channel may also be configured in such away that it can be used to transport whole packets from the software defined network switch to the controller as well as possible reaction packets back to the software defined network switch. This is for example used in conventional software defined networks when dealing with network control traffic at the controller such as ICNP or ARP. A request packet of a certain type is received by the switch, forwarded to the controller and the controller in turn generates an appropriate response packet, transmits it back to the switch which sends it out as response to the requestor.
However, conventional software defined networks have the problem, that communication between the software defined network switches and the software defined network controller causes overhead in terms of delay and control channel bandwidth. Moreover the corresponding software defined network agent in the software defined network switch is a bottleneck, because the agent runs typically in the GPU of the switch and has to en/-decrypt the communication over the control channel to ensure security between the controller and the switch.
In the non patent literature of Andrew A. Curtis, Jeffrey C. Mogul, Jean Tourrilhes, Praveen Yalagandula, Puneet Sharma, and Sujata Banerjee. 2011, DevoFlow: scaling flow management for high-performance networks. In Proceedings of the ACM SIGCOMM 2011 conference (SIGCOMM '11). ACM, New York, N.Y., USA, 254-265. DOI=10.1145/2018436.2018466 http://www.cmlab.csie.ntu.edu.tw/˜kenneth/quing2011/paper6.pdf a method is described which hands back some functionality, for example forwarding or routing to the software defined network switch and only statistics about the status of the (physical network) are reported to the controller. The controller may then pick which flows to control.
In the non patent literature of J. M. Smith and S. M. Nettles. 2004, Active networking: one view of the past, present, and future, Trans. Sys. Man Cyber Part C 34, 1 (February 2004), 4-18, DOI=10.1109/TSMCC.2003.818493, http://repository.upenn.edu/cis papers/46/, Active Networking is described which makes network elements into code interpreters. Transmitted data packets carry a piece of code determining how the packet is handled by the network elements.
Further in EP 1 014 651 A2 a programmable network element is described enabling to specify code to be executed on packets locally on the switches command line interface or a “remote program injector”. However, one of the drawbacks is, that arbitrary code has to be performed or executed on the switch resulting in a high load on the GPU of the switch.